﻿using System;
using System.Collections.Generic;

namespace WUDI.ECharts.Series.ThemeRiver
{
	public class ThemeRiver
	{

		/// <summary>
		/// string
		/// 组件 ID。默认不指定。指定则可用于在 option 或者 API 中引用组件。
		/// </summary>
		public String id { get; set; }

		/// <summary>
		/// number
		/// 所有图形的 zlevel 值。
		/// zlevel用于 Canvas 分层，不同zlevel值的图形会放置在不同的 Canvas 中，Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁（例如有动画）的组件设置成一个单独的zlevel。需要注意的是过多的 Canvas 会引起内存开销的增大，在手机端上需要谨慎使用以防崩溃。
		/// zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面。
		/// </summary>
		public int zlevel { get; set; } = 0;

		/// <summary>
		/// number
		/// 组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖。
		/// z相比zlevel优先级更低，而且不会创建新的 Canvas。
		/// </summary>
		public int z { get; set; } = 2;

		/// <summary>
		/// string,number
		/// thmemRiver组件离容器左侧的距离。
		/// left 的值可以是像 20 这样的具体像素值，可以是像 '20%' 这样相对于容器高宽的百分比，也可以是 'left', 'center', 'right'。
		/// 如果 left 的值为'left', 'center', 'right'，组件会根据相应的位置自动对齐。
		/// </summary>
		public dynamic left { get; set; } = "5%";

		/// <summary>
		/// string,number
		/// thmemRiver组件离容器上侧的距离。
		/// top 的值可以是像 20 这样的具体像素值，可以是像 '20%' 这样相对于容器高宽的百分比，也可以是 'top', 'middle', 'bottom'。
		/// 如果 top 的值为'top', 'middle', 'bottom'，组件会根据相应的位置自动对齐。
		/// </summary>
		public dynamic top { get; set; } = "5%";

		/// <summary>
		/// string,number
		/// thmemRiver组件离容器右侧的距离。
		/// right 的值可以是像 20 这样的具体像素值，可以是像 '20%' 这样相对于容器高宽的百分比。
		/// </summary>
		public dynamic right { get; set; } = "5%";

		/// <summary>
		/// string,number
		/// thmemRiver组件离容器下侧的距离。
		/// bottom 的值可以是像 20 这样的具体像素值，可以是像 '20%' 这样相对于容器高宽的百分比。
		/// </summary>
		public dynamic bottom { get; set; } = "5%";

		/// <summary>
		/// string,number
		/// thmemRiver组件的宽度。
		/// </summary>
		public dynamic width { get; set; }

		/// <summary>
		/// string,number
		/// thmemRiver组件的高度。
		///  注意：
		/// 整个主题河流view的位置信息复用了单个时间轴的位置信息，即left，top，right，bottom。
		/// </summary>
		public dynamic height { get; set; }

		/// <summary>
		/// string
		/// 坐标系统，主题河流用的是单个的时间轴。
		/// </summary>
		public String coordinateSystem { get; set; } = "single";

		/// <summary>
		/// Array
		/// 图中与坐标轴正交的方向的边界间隙，设置该值是为了调整图的位置，使其尽量处于屏幕的正中间，避免处于屏幕的上方或下方。
		/// </summary>
		public List<object> boundaryGap { get; set; } = new List<object>() { "10%", "10%" };

		/// <summary>
		/// number
		/// 单个时间轴的index，默认值为0，因为只有单个轴。
		/// </summary>
		public int singleAxisIndex { get; set; } = 0;

		/// <summary>
		/// Object
		/// label 描述了主题河流中每个带状河流分支对应的文本标签的样式。
		/// </summary>
		public WUDI.ECharts.Series.ThemeRiver.Label.Label label { get; set; }

		/// <summary>
		/// Object
		/// 主题河流中每个带状河流分支的样式。
		/// </summary>
		public WUDI.ECharts.Series.ThemeRiver.ItemStyle.ItemStyle itemStyle { get; set; }

		/// <summary>
		/// Object
		/// 高亮的图形和标签样式。
		/// </summary>
		public WUDI.ECharts.Series.ThemeRiver.Emphasis.Emphasis emphasis { get; set; }

		/// <summary>
		/// Array
		/// </summary>
		public List<object> data { get; set; }

		/// <summary>
		/// *
		/// 本系列特定的 tooltip 设定。
		/// </summary>
		public WUDI.ECharts.Series.ThemeRiver.Tooltip.Tooltip tooltip { get; set; }

	}
}
